package com.zaizai.domain;

import lombok.Data;

import java.io.Serializable;

/**
 * 会话消息实体
 *
 */
@Data
public class Message implements Serializable {

    /**
     * 消息推送者
     */
    private Role from;

    /**
     * 消息内容
     */
    private String message;

    /**
     * 消息接收者
     */
    private Role to;

    /**
     * 创建时间
     */
    private String createTime;

    /**
     * 设置消息内容
     * 该方法用于将输入的消息字符串进行处理后赋值给实例变量message
     * 如果输入的消息为null，则将其设置为空字符串
     * 否则，移除消息中的所有换行符，以确保消息中不包含任何换行或回车字符
     * 这样做是为了统一消息格式
     *
     * @param message 要设置的消息内容，可以是任意字符串，包括null
     */
    public void setMessage(String message) {
        this.message = message == null ? "" : message.replaceAll("\r\n|\r|\n", "");
    }
}
